package cn.iocoder.boot.service;

import cn.iocoder.boot.entity.ComponentPrice;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 组件价格Service
 *
 * @author 芋道源码
 */
public interface ComponentPriceService {

    /**
     * 创建组件价格
     *
     * @param componentPrice 组件价格
     * @return 创建结果
     */
    CommonResult<Boolean> createComponentPrice(ComponentPrice componentPrice);

    CommonResult<Boolean> createComponentPriceBranch(List<ComponentPrice> componentPrice);
    /**
     * 更新组件价格
     *
     * @param componentPrice 组件价格
     * @return 更新结果
     */
    CommonResult<Boolean> updateComponentPrice(ComponentPrice componentPrice);

    /**
     * 删除组件价格
     *
     * @param id 组件价格编号
     * @return 删除结果
     */
    CommonResult<Boolean> deleteComponentPrice(Long id);


    CommonResult<Boolean> deleteByTask();

    /**
     * 获取组件价格
     *
     * @param id 组件价格编号
     * @return 组件价格
     */
    CommonResult<ComponentPrice> getComponentPrice(Long id);

    /**
     * 获取组件价格分页
     *
     *
     * @param
     * @return 组件价格分页
     */
    CommonResult<List<ComponentPrice>> listComponentPrices( @RequestParam(required = false) List<Long> id,@RequestParam(required = false)String currency);

    /**
     * 获取组件价格分页
     * @param id
     * @param currency
     * @return
     */
    CommonResult<List<ComponentPrice>> listComponentPricesForTime( @RequestParam(required = false) List<String> id,@RequestParam(required = false)String currency);

    void createComponentPriceOfUniqueKey(ComponentPrice componentPrice);



}
